"""
author: Jackson Black
time: 2023-08-14 08-27-18 
"""


# 数据类型：int, float, complex, str, bool
def type_use() -> None:
    e1: int = 3
    e2: float = 3.14
    e3: complex = 5 + 3j
    e4: str = 'Jason Black'
    e5: bool = False
    # 3 的数据类型:<class 'int'>
    print(f'{e1} 的数据类型:{type(e1)}')
    # 3.14 的数据类型:<class 'float'>
    print(f'{e2} 的数据类型:{type(e2)}')
    # (5+3j) 的数据类型:<class 'complex'>
    print(f'{e3} 的数据类型:{type(e3)}')
    # Jason Black 的数据类型:<class 'str'>
    print(f'{e4} 的数据类型:{type(e4)}')
    # False 的数据类型:<class 'bool'>
    print(f'{e5} 的数据类型:{type(e5)}')


# 可以使用Python中内置的函数对变量类型进行转换。
# - `int()`：将一个数值或字符串转换成整数，可以指定进制。
# - `float()`：将一个字符串转换成浮点数。
# - `str()`：将指定的对象转换成字符串形式，可以指定编码。
# - `chr()`：将整数转换成该编码对应的字符串（一个字符）。
# - `ord()`：将字符串（一个字符）转换成对应的编码（整数）。
def transform_type() -> None:
    e1 = 3
    e2 = float(e1)
    e3 = chr(e1)
    e4 = str(e1)
    print(f'e1={e1} 的数据类型{type(e1)},\n e2={e2} 的数据类型{type(e2)},\n '
          f'e3={e3} 的数据类型{type(e3)},\n e4={e4} 的数据类型{type(e4)}')
    e5 = ord('A')
    print(f'e5={e5} 的数据类型{type(e5)}')


# 运算符
def calculate_operator() -> None:
    n1 = 13
    n2 = 17
    print(f'n1={n1}, n2={n2}')
    print(f'n1 // n2 ={n1 // n2}')
    print(f'n1 % n2 ={n1 % n2}')
    n2 += 3
    print(f'n2 += 3 --> {n2}')


def compare_operator() -> None:
    n1, n2 = 13, 17
    print(f'n1={n1}, n2={n2}')
    print(f'n1 > n2 --> {n1 > n2}')
    print(f'n1 < n2 --> {n1 < n2}')
    print(f'n1 == n2 --> {n1 == n2}')


if __name__ == '__main__':
    transform_type()

# if __name__ == '__main__':
#     calculate_operator()
#
# if __name__ == '__main__':
#     compare_operator()
